<?php 
//Author: José Quispe
include_once("Conexion.php");

//Declaracion
class M_Pedido {
    //Variable de la clase
    private $idPedido; 
    private $idMoso;
    private $numeroCubiertos;
    private $usuCreac;
    private $usuModif;
    
    //V_Comprobante
    function searchPedidoHead() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " select * from tbl_pedido where eliminado=false and id_pedido=$this->idPedido ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //V_Comprobante
    function searchPedidoBody() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT pd.id_pedido, pd.id_catalogo_detalle, pd.precio as subtotal, cd.precio, pd.cantidad, pd.hora_solicitud, 
               pd.hora_respuesta, pd.estado, pd.eliminado, p.nombre as producto
        FROM tbl_pedido_detalle pd
        inner join tbl_catalogo_detalle cd on pd.id_catalogo_detalle = cd.id_catalogo_detalle
        inner join tbl_producto p on cd.id_producto = p.id_producto
        where pd.eliminado=false and id_pedido = $this->idPedido";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //C_IniciarPedido
    function insertPedidoHead() {
        //Creamos un objeto de la clase conexion
        $miconexion = new Conexion();
        //Obtenemos la conexion
        $cn = $miconexion->conectar();
        //Comenzamos la transaccion
        //  pg_query($cn,"BEGIN");
        //Elaboramos la sentencia
        $sql = " INSERT INTO tbl_pedido(
        id_mozo, numcubiertos, creacion, creadopor, 
        eliminado, fecha, hora_inicio)
        VALUES ($this->idMoso, 4, now(), '$this->usuCreac', false, now(), now()) ";
        //Ejecutamos la sentencia
        $result = pg_query($cn,$sql);
        if (!$result) {
            //Si no obtiene resultados anulamos la transaccion
          //  pg_query($cn,"ROLLBACK");
            $rpta = false;
        } else {
            //Si obtiene resultados confirmamos la transaccion
           // pg_query($cn,"COMMIT");
            $rpta = true;
        }
        //Cerramos la conexion
        pg_close($cn);

        return $rpta;
    }
    
    //V_Comprobante
    function searchPedidoUltimoXMoso() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT id_pedido, id_cliente, id_mozo, fecha
        FROM tbl_pedido
        where id_mozo = $this->idMoso
        order by fecha desc
        limit 1 ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function setIdPedido($idPedido) {
        $this->idPedido = $idPedido;
    }
    
    function setNumeroCubiertos($numeroCubiertos) {
        $this->numeroCubiertos = $numeroCubiertos;
    }
    
    function setIdMoso($idMoso) {
        $this->idMoso = $idMoso;
    }
    
    function setUsuCreac($usuario) {
        $this->usuCreac = $usuario;
    }
    
    function setUsuModif($usuario) {
        $this->usuModif = $usuario;
    }
   
}
?>